Crate urlencoding
source ·Expand description
To encode a string, do the following:
use urlencoding::encode;
let encoded = encode("This string will be URL encoded.");
println!("{}", encoded);
// This%20string%20will%20be%20URL%20encoded.
To decode a string, it’s only slightly different:
use urlencoding::decode;
let decoded = decode("%F0%9F%91%BE%20Exterminate%21").expect("UTF-8");
println!("{}", decoded);
// 👾 Exterminate!
To decode allowing arbitrary bytes and invalid UTF-8:
use urlencoding::decode_binary;
let binary = decode_binary(b"%F1%F2%F3%C0%C1%C2");
let decoded = String::from_utf8_lossy(&binary);
This library returns Cow
to avoid allocating when decoding/encoding is not needed. Call .into_owned()
on the Cow
to get a Vec
or String
.
Structs
- Wrapper type that implements
Display
. Encodes on the fly, without allocating. Percent-encodes every byte except alphanumerics and-
,_
,.
,~
. Assumes UTF-8 encoding.
Functions
- Decode percent-encoded string assuming UTF-8 encoding.
- Decode percent-encoded string as binary data, in any encoding.
- Percent-encodes every byte except alphanumerics and
-
,_
,.
,~
. Assumes UTF-8 encoding. - Percent-encodes every byte except alphanumerics and
-
,_
,.
,~
.